Image distribution and deployment is an important aspect for a multitude of different application scenarios, e.g. cloud computing, which heavily rely on server virtualization and distributing disk images, in the following referred to as ‘images’, to a multitude of virtual server hosting environments on request. Accordingly, efficient methods for distributing data portions such as disk images from one computer system to a multitude of other computer systems is one of the most important underpinning technologies of many of today's cloud services. The dynamics of cloud environments require frequent instantiation of virtual servers, very often combined with the deployment of images. Often, there are several different types of images which are distributed to a multitude of virtual server hosting environments. The efficiency and speed of image distribution is therefore of essential importance in the field of cloud computing. Current image distribution technologies are often not efficient enough to concurrently distribute a multitude of images quickly.
In computer networking, different approaches are known to deliver data from a data source to one or more destinations. Multicast transmission is the delivery of data to a group of destination computers simultaneously in a single transmission, whereby copies of the transferred data are created automatically in network elements other than the data source, e.g. in routers, when the topology of the network requires it. At the data link layer, multicast describes a one-to-many distribution such as Ethernet multicast addressing or Infiniband multicast. In multicasting, the data source sends its data only to processing devices having registered at a multicast destination address. To the contrary, unicast transmission is the sending of data to a single network destination identified by a unique address. Both multicast and unicast image distribution technologies are commonly used in current server farms. Typically, for each virtual machine (VM) to be instantiated on a computer system providing for a virtual server environment, unicast network protocols are used to transfer an image from an image server to said computer system. A drawback of this protocol is that the required network bandwidth is directly proportional to the number of image transmissions. A duplication of the number of images to be transmitted in unicast transfer mode implies the duplication of the required network bandwidth or the duplication of the transfer time.
Therefore, in high performance computing (HPC) environments, multicast protocols are preferentially used which consume considerably less bandwidth. Common protocols used for this multicast data transmission include BOOTP, PXE, IP, DHCP, HTTP, FTP and MTFTP or proprietary protocols. A drawback is, however, that typically the images transferred in multicast mode to multiple destinations have to be identical. As often the case, some images may share large parts of their respective data, e.g. the data specifying the installed operating system, while each image may in addition comprise user-specific data such as additionally installed programs and/or user data. Various approaches for transferring images to multiple destinations exist:
U.S. Pat. No. 6,981,032 discloses a multicast-based web server being operable to distribute common parts of web content via multicast protocols to a plurality of clients.
U.S. Pat. No. 7,464,176 discloses a multicast system and method for deploying multiple images simultaneously. The first image comprises first file data and common data and the second image comprises second file data and the common data. The common data, the first file data and the second file data are distributed via multicast to the plurality of clients via a shared network linking the server to said clients.
U.S. Patent Publication No. 2009/0300185 A1 describes a method for receiving audiovisual programs sent by a server to at least two reception devices. Initially, a first user requests a document from the server that establishes a unicast stream to download said document. Then, a second user requests to receive the same document, even when partially truncated. The server studies the proposal and possibly agrees to the download. The server is operable to switch the broadcast of the document from a unicast stream to a multicast stream. The first and the second devices receive said document via the same multicast stream.
International Patent Publication No. WO 2009/085266 discloses a method for transmitting audio and visual programming content by identifying an amount of broadcast transmission capacity available for transmitting the content to one or more users. The content is separated into at least first and second portions based on user demand for the content and/or the identified available broadcast transmission capacity.